home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-02-27 | 49.9 KB | 1,482 lines |
- Anleitung zum Kommandozeileninterpreter Version 1.0u
- (c) Oliver Scholz, Februar 1991
-
- In eigener Sache
- ----------------
-
- Lieber Benutzerin, lieber Benutzer!
-
- Das vorliegende Programm ist SHAREWARE. Das bedeutet, daß es
- weiterkopiert werden kann und soll! Man kann es allen seinen Freunden
- weitergeben und die wieder ihren Freunden u.s.w.
- Es dürfen aber nur alle Dateien komplett kopiert werden, d.h.
-
- COMMAND.PRG Ausführbare Programmdatei
- COMMAND.TEX LaTeX-Version dieser Anleitung
- COMMAND.TXT ASCII-Version dieser Anleitung
- REVISION.TXT Entwicklungsgeschichte
-
- Es darf in den Dateien nichts verändert werden! Ausgenommen sind
- Layoutänderungen beim Ausdruck der Textdateien. Auf Wunsch kann bei
- mir auch noch eine englische Übersetzung der Textdateien bestellt
- werden.
-
- Wer das Programm benutzt sollte mir 30 DM überweisen, als Anerkennung
- für meine Mühe. Damit werdet ihr automatisch registrierter Benutzer
- und könnt euch bei auftretenden Problemen und Fragen schriftlich an mich
- wenden. Registrierte Benutzer bekommen jederzeit gegen eine formatierte 3,5"
- Diskette und einen selbstadressierten, frankierten Rückumschlag die neueste
- Version.
-
- Ohne mein (schriftliches) Einverständnis darf das Programm nicht in einen
- Public Domain Vetrieb aufgenommen werden. Denn wer für ein Programm schon
- 10-15 DM plus Porto und Nachnahme bezahlt hat, sieht nicht ein, sich auch
- noch für 30 DM registrieren zu lassen.
-
- Dieses Programm ist im Laufe von eineinhalb Jahren
- entstanden und ich habe unzählige Stunden daran gearbeitet.
- Darum möchte ich darum bitten, mir obigen Betrag auch zu überweisen,
- wenn ihr mit diesem Programm arbeitet.
-
- Das Programm ist zu 100 Prozent in Assembler geschrieben. Das erklärt
- seine Geschwindigkeit, aber auch seine Kompaktheit. Schließlich sind
- über 60 Befehle eingebaut, d.h. es fallen bei diesen Befehlen keine Ladezeiten
- an.
- Und nicht jeder hat 2 oder 4 Megabytes und will davon über 100 KB für eine
- riesige, langsame Shell verbraten, nur weil diese in C geschrieben ist und sich
- enorme Hashtables anlegt. Der CLI ist unter 32K lang und reserviert sich auch
- nicht viel mehr. Nur einige KBytes für die Alias und Environments.
-
- Mein Dank gilt hier Marcus, der diese Anleitung geTeXt und auch sonst
- mit konstruktiver Kritik nicht gespart hat.
-
- Den Assembler, mit dem der CLI geschrieben ist, habe ich auch selbst
- entwickelt, und wenn das Sharewarekonzept klappt, mache ich den auch zu
- Shareware. Also noch ein Grund, sich registrieren zu lassen.
- Helft mit, das Sharewarekonzept zu einem Erfolg zu machen, wie in den USA.
-
- Meine Bankverbindung:
-
- Postgiroamt 2000 Hamburg
- Bankleitzahl 200 100 20
- Kontonummer 3457 42-203
-
- Vergesst bitte nicht, euren Namen,Adresse und das Stichwort CLI mit auf
- das Überweisungsformular zu schreiben, sonst weiß ich nicht, woher das
- Geld gekommen ist.
-
- Ihr könnt das Geld auch in einen Umschlag stecken:
-
- Oliver Scholz
- Garstedter Weg 226
- Postfach 61 02 29
- 2000 Hamburg 61
-
- Meine Telefonnummer gebe ich am besten gar nicht erst an, weil ich ohnehin
- fast nie zuhause bin, und auch nicht morgens um sieben schon von den ersten
- Leuten aus dem Bett geholt werden möchte. Bitte versteht das.
-
- Fast hätte ich's vergessen:
-
- DISCLAIMER/HAFTUNGSAUSSCHLUSS:
-
- Das Programm wurde sorgfältig entwickelt und getestet. Trotzdem sind, wie
- es bei Software üblich ist, Fehler nicht auszuschließen.
- Der Autor sieht sich daher gezwungen, darauf hinzuweisen, dass keine Garantie
- für das fehlerfreie Funktionieren dieses Programmes übernommen werden kann,
- noch für irgendwelche Schäden, die aus Fehlern im Programm oder durch Fehlbe-
- dienung entstehen, gehaftet wird.
-
- Mit dem Starten des Programmes werden diese Bedingungen anerkannt.
- So, und jetzt viel Spass mit dem Programm.
-
- Hamburg im Dezember 1990 Oliver Scholz
-
-
-
- Einleitung
- ----------
-
- Neben dem GEM-Desktop stellt ein Kommandozeileninterpreter (CLI) eine weitere
- Möglichkeit dar, mit dem ST zu kommunizieren. Hierbei werden die Kommandos
- nicht mit der Maus angewählt, sondern die Befehle mit Namen eingegeben.
-
- Es werden dabei zwei verschiedene Arten von Befehlen unterschieden:
- Residente und nichtresidente Befehle. Die residenten Befehle sind im CLI
- eingebaut, d.h. sie stehen nach dem Laden unmittelbar zur Verfügung.
- Nichtresidente Befehle dagegen befinden sich auf Diskette bzw. Festplatte und
- werden erst von dort geladen. Der Vorteil dabei ist, daß Befehle, die der
- CLI nicht enthält, selbst geschrieben werden können, und somit der CLI quasi
- erweitert werden kann.
- Ein weiterer Vorteil eines CLI ist die Möglichkeit Batchdateien abzuarbeiten,
- d.h. festgelegte Kommandofolgen mit einem Befehl abarbeiten zu lassen.
-
- Die Benutzung der, vom TOS unterstützten, Environmentvariablen ist
- beim Arbeiten mit dem Desktop leider nicht möglich. Dies ist schade, denn
- sie bieten dem Benutzer u.a. die Möglichkeit seine persönliche
- Benutzerumgebung besser zu strukturieren. Ein weiterer Vorteil eines CLI ist
- also, daß eben diese Environmentvariablen problemlos definier- und
- ansprechbar sind.
-
-
- Das Arbeiten mit dem CLI
- ------------------------
-
- Auch wenn zwischen residenten und nichtresidenten Befehlen unterschieden wird,
- ist dieser Unterschied für den Benutzer kaum merklich. Erst wenn die Diskette
- bzw. Festplatte anläuft, merkt man, daß ein Befehl nichtresident ist.
- Nach dem Starten meldet sich der CLI mit dem sogenannten Prompt, der z.B.
- so aussehen könnte: `C:>'.
- Wann immer der CLI diesen Prompt ausgibt, ist er bereit einen Befehl
- entgegenzunehmen. Dieser Prompt kann aber auch umdefiniert werden. Siehe
- dazu Abschnitt 'PROMPT'.
-
- Eine Kommandozeile besteht aus einem Befehl und optionalen Parametern, die
- voneinander durch ein oder mehrere Leerzeichen getrennt sind. Zunächst testet
- der CLI, ob es sich bei dem Befehl um einen residenten Befehl handelt. Ist das
- der Fall, so wird der Befehl sofort ausgeführt. Handelt es sich jedoch um
- einen nicht eingebauten Befehl, so wird auf dem aktuellen Verzeichnis nach
- einer Datei gleichen Namens gesucht, und diese geladen.
- Wurde keine Extension angegeben, so versucht der CLI zunächst die Extension
- '.PRG', dann der Reihe nach '.TOS', '.TTP', '.APP' und schließlich '.BAT'.
- Hatte keiner dieser Versuche Erfolg, so wird die Meldung
-
- 'Command or File not found!'
-
- ausgegeben. Ist die Environmentvariable PATH vorhanden, so werden auch die
- darin angegebenen Pfade durchsucht, bevor die Meldung ausgegeben wird.
- Groß-/Kleinschreibung spielt bei der Befehlseingabe übrigens keine Rolle.
-
-
- Die HOME-Abkürzung in Pfaden
- -----------------------------
-
- Das Tilde-Zeichen ('~') in einem Pfad steht für das Homedirectory
- des jeweiligen Benutzers. Der CLI ersetzt dieses Zeichen also durch den
- Inhalt der Environmentvariablen HOME. Zum Beispiel:
-
- cp tst.txt ~\txt\
-
- wäre gleichbedeutend mit
-
- cp tst.txt $HOME\txt\
-
- oder, wenn HOME=e:\usr\olav\, auch
-
- cp tst.txt e:\usr\olav\txt\
-
-
- Wildcards und Dateinamen unter TOS
- ----------------------------------
-
- Wenn im folgenden von wildcards die Rede ist, so ist damit
- die Möglichkeit gemeint, Dateinamen unvollständig zu spezifizieren.
- Einzelne Zeichen in Dateinamen können gegen ein Fragezeichen (`?')
- und ganze Zeichenketten durch einen Stern (`*') ersetzt werden.
- Dabei besteht ein Dateiname aus 8 Zeichen plus 3 optionalen, durch einen
- Punkt getrennten Zeichen, auch Extension genannt. Also beispielsweise
- filename.ext.
-
- Es ist jedoch zu beachten, wie die beiden Wildcard-Zeichen von TOS
- interpretiert werden. Wird in einem Dateinamen ein Stern verwendet, so
- füllt TOS bis zum Punkt mit Fragezeichen auf, d.h. alle Zeichen nach einem
- Stern bis zum Punkt werden ignoriert!
-
- Besondere Vorsicht bei der Verwendung von Wildcards ist also bei
- Löschoperationen geboten. Fatale Folgen könnte folgende Anweisung haben:
-
- rm *abc.*
-
- TOS interpretiert dies als
-
- rm *.*
-
- Was das bedeuten kann, ist wohl jedem klar. Also Vorsicht!!!
-
-
- Batchdateien
- ------------
-
- Eine Batchdatei dient dazu, eine oft benutzte Befehlsfolge zu automatisieren.
- Soll z.B. die Befehlsfolge
-
- date
- time
-
- zusammen ausgeführt werden, so schreibt man mit einem Editor eine Textdatei,
- die in der ersten Zeile 'date' und in der zweiten Zeile 'time' enthält.
- Nennt man diese Datei z.B. DATETIME.BAT, so wird bei Eingabe von 'datetime.bat'
- automatisch die Befehlsfolge 'date time' ausgeführt. Es ist auch möglich, einer
- Batchdatei max. 10 Parameter zu übergeben. Die Parameter werden in der
- Kommandozeile durch Leerzeichen voneinander getrennt. Der erste Parameter
- heißt %1, der zweite %2, u.s.w. und der zehnte %0. Taucht in der
- Batchdatei dann %1 auf, so wird %1 durch den Parameter in der
- Kommandozeile ersetzt.
- Soll das '%' dargestellt werden, so wird es einfach verdoppelt: '%%'. Lautet
- die Batchdatei 'TEST.BAT' etwa: 'echo %1', so bewirkt die Kommandozeile
- 'test Hallo', daß auf dem Bildschirm 'Hallo' ausgegeben wird.
-
- Mit Batchdateien lassen sich z.B. Compiler-/Linkerläufe automatisieren:
-
- compiler %1.c %1.o
- linker %1.prg=startup,%1.o,lib
-
- Wird diese Batchdatei 'C.BAT' genannt, so bewirkt 'c test', daß die
- Befehlsfolge
-
- compiler test.c test.s
- linker test.prg=startup,test.o,lib
-
- abgearbeitet wird. Als besonderer Clou kann der CLI auch selbst eine
- Kommandozeile übernehmen.
- Diese kann dann z.B. der Name einer Batchdatei sein, die nach dem Starten
- des CLI automatisch abgearbeitet wird. Damit ist es vom Desktop aus
- z.B. möglich, COMMAND.PRG als Anwendung anzumelden, und zwar mit der
- Extension '.BAT'. Wird dann 'C.BAT' doppelt angeklickt, so startet der
- CLI automatisch und arbeitet die entsprechende Batchdatei ab.
-
- Wird keine Kommandozeile angegeben, so sucht der CLI nach einer Batchdatei
- 'AUTOEXEC.BAT', die, sofern vorhanden, ebenfalls automatisch abgearbeitet
- wird. In dieser Datei kann man den CLI nach eigenen Wünschen einstellen, z.B.
- mit 'prompt &p&g' wird der Prompt so eingestellt, daß er das aktuelle
- Laufwerk und Pfad gefolgt vom '>' ausgibt.
-
- Des weiteren ist es möglich, rekursive Batchdateien zu verwenden, d.h. eine
- Batchdatei kann eine weitere Batchdatei aufrufen, aber maximal fünf Mal.
- Dabei kann auf Parameter übergeordneter Batchdateien zugegriffen werden.
-
-
- Ein- /Ausgabe Umleitung
- -----------------------
-
- Die Ausgabe aller eingebauten Befehle erfolgt normalerweise auf den
- Bildschirm, aber es kann manchmal gewünscht sein, Ausgaben auf den Drucker
- oder in eine Datei auszugeben.
-
- Dazu wird an das Ende der eigentlichen Kommandozeile '>dateiname'
- angefügt.
- Damit wird eine Datei 'dateiname' angelegt und die Ausgabe des Befehls in
- diese Datei geschrieben. Als Dateiname sind hier auch 'AUX:' und 'PRN:'
- zulässig. Damit kann die Ausgabe auch auf den Drucker bzw. die serielle
- Schnittstelle umgelenkt werden. Ist die Datei 'dateiname' schon vorhanden,
- so wird sie gelöscht, und eine neue Datei eröffnet. Soll an eine bestehende
- Datei angehängt werden, so wird statt '>dateiname' der Befehl
- '>>dateiname' an die Kommandozeile angehängt.
-
- Es ist auch möglich die Eingabe von einer Datei vorzunehmen. Dazu wird an die
- Kommandozeile '<dateiname' angehängt. Hier ist wieder auch
- 'AUX:' zugelassen, nicht aber 'PRN:'.
-
- Benutzt ein Programm die Fehlerausgabe (stderr), so kann auch diese
- umgeleitet werden, und zwar mit '2>dateiname' bzw. '2>>dateiname'.
- Hier sind ebenfalls 'AUX:', 'PRN:' und 'CON:' zulässig.
-
- Allerdings funktioniert die I/O-Umlenkung nicht bei allen TOS-Versionen
- fehlerfrei. Erst ab TOS Version 1.4 klappt alles fehlerfrei.
-
- Pipes
- -----
-
- Eine Pipe ist ein sehr angenehmes Mittel zur Kommunikation zwischen
- verschiedenen Programmen. Oft ist es gewünscht, die Ausgabe eines Programmes
- mit einem anderen Programm weiterzuverarbeiten. Eine Pipe gibt die Ausgabe,
- die ein Programm oder Befehl auf den Bildschirm (eigentlich 'stdout')
- schreiben will, an ein anderes Programm weiter, das diese Ausgabe als
- Eingabe akzeptiert. Eine Pipe ist also eine Art gleichzeitige Ausgabe- und
- Eingabeumlenkung mit verschiedenen Programmen.
- Das Zeichen, das diese Umlenkung vornimmt, ist der senkrechte Strich ('|').
- Soll z.B. die Fehlerliste eines C-Compilers auf eine Datei umgelenkt werden,
- so kann diese recht lang werden, und meist hängt ein Großteil der Fehler
- vom ersten Fehler ab. So kann man die Ausgabe durch eine Pipe an
- HEAD schicken, der nur die ersten paar Fehlermeldungen ausgibt:
-
- compiler | head -25
-
- So schreibt der Compiler nur noch die ersten 25 Fehlermeldungen auf den
- Bildschirm. Man kann diese Ausgabe nun weiter in eine Datei umlenken:
-
- compiler | head -25 >errors
-
- Nun enthält 'errors' die ersten 25 Fehlermeldungen. Sollen die Fehlermeldungen
- nur seitenweise ausgegeben werden und der Compiler hält nicht an, so kann
- die Ausgabe an MORE geschickt werden:
-
- compiler | more
-
- Nun erfolgt die Ausgabe seitenweise, als hätte man:
-
- compiler >temp
- more temp
- del temp
-
- eingegeben. Damit diese Umleitung funktioniert muß die Ausgabe die in eine
- Pipe geschickt werden soll natürlich auch umlenkbar sein, d.h. das Programm
- muß seine Ausgaben auf 'stdout' machen.
-
- Sollen mehrere Befehle in einer Kommandozeile ausgeführt werden, ohne daß
- eine Pipe geöffnet wird, so müssen diese jeweils durch Semikolon getrennt
- werden.
-
- Die Befehls Stopuhr
- -------------------
-
- Wird eine Kommandozeile mit einem 'Klammeraffen' (@) begonnen, so wird eine
- interne Stopuhr gestartet und die Zeit zur Ausführung der Zeile
- gestoppt. So kann bequem bestimmt werden, wie lange z.B. ein
- Compiliervorgang dauert.
-
-
- Die History-Funktion
- --------------------
-
- Der CLI merkt sich immer die letzten 20 Befehlszeilen, und diese können über
- die Cursortasten (auf/ab) wieder abgerufen werden. Das ist sinnvoll, wenn man
- einen zuvor benutzten Befehl noch einmal benutzen möchte, ohne ihn neu
- eingeben zu müssen.
-
- Diese Befehle können auch ggf. editiert werden. Eine weitere Möglichkeit,
- die letzten Befehle zu sehen und
- auszuführen, ist der Befehl HISTORY. Damit werden die letzten Befehle
- ausgegeben und jeweils mit einer Nummer versehen. Mittels Ausrufezeichen
- können diese Befehle nun angesprochen werden, und zwar auf zwei verschiedene
- Arten:
-
- o '!5', würde z.B. den 5. Befehl ausführen, der nach Starten
- des CLIs eingegeben wurde, sofern sich dieser Befehl noch im
- History-Puffer befindet.
-
- o '!cc' würde den letzten Befehl, der mit 'cc' beginnt und
- sich noch im History-Puffer befindet, ausführen.
-
-
- Editieren der Eingabezeile
- --------------------------
-
- Eingegebene Zeichen werden dort eingefügt, wo sich der Cursor befindet. Sind
- noch Zeichen rechts vom Cursor, so werden diese Zeichen nach rechts
- verschoben.
-
- Die Befehle, die zum Editieren der Kommandozeile zur Verfügung stehen, zeigt
- Tabelle 1. Eine genauere Erläuterung verlangt wohl die Dateinamensuche:
-
- Es ist manchmal ganz hilfreich, dem Rechner die Suche nach einem
- komplizierten Dateinamen zu überlassen. Dazu gibt man eine unvollständige
- Dateinamenspezifikation an und drückt entweder die Insert-Taste oder
- die Tastenkombination Ctrl-U (unknown). Nun durchsucht der CLI
- das aktuelle Verzeichnis nach dem ersten Eintrag, der auf die angegebene
- Spezifikation paßt und gibt ihn auf dem Schirm aus. Ist dies nicht der
- gewünschte Eintrag, so kann man die Suche mit der Tastenkombination
- Ctrl-O (other) fortführen. Kann kein weiterer Eintrag mehr
- gefunden werden, so bleibt der letzte gefundene Eintrag in der Kommandozeile
- stehen.
-
- Da das links vom Cursor stehende Wort als Suchspezifikation benutzt
- wird, bewirkt zweimaliges Drücken der Insert-Taste bzw. Ctrl-U, daß der
- erste gefundene Dateiname mit dem zweiten Drücken als, nun vollständige,
- Suchspezifikation interpretiert wird. Dadurch wird i.d.R. bei weiterer
- Suche mittels Ctrl-O kein anderer Dateiname mehr gefunden.
-
- Folgendes Beispiel soll diese sinnvollen Befehle verdeutlichen:
-
- Oft möchte man eine Datei löschen, will aber nicht den gesamten Namen
- eingeben. Angenommen, das aktuelle Verzeichnis enthält die folgenden Dateien:
-
- BLAH.TXT
- BLAH1.TXT
- BLAH2.TXT
-
- Gesetzt den Fall, man möchte BLAH1.TXT löschen. Nun reicht es
- beispielsweise aus, wenn man folgende Kommandozeile eingibt (ohne die
- RETURN Taste zu betätigen):
-
- del bl
-
- Drückt man nun die Insert-Taste (oder Ctrl-U) so würde die unvollständige
- Spezifikation 'bl' durch 'blah.txt' ersetzt werden.
- (In diesem Fall wäre ein Leerzeichen als Spezifikation auch ausreichend
- gewesen) Führt man die Suche nun mit Ctrl-O fort, so wird als nächstes
- BLAH.TXT durch die gesuchte Datei BLAH1.TXT ersetzt und man kann die
- erwünschte Kommandozeile durch Betätigung der RETURN Taste an den CLI
- weitergeben. Ähnlich läßt sich diese Suche auch bei anderen Befehlen anwenden.
- Auf vielfachen Wunsch wird der gefundene Dateiname ab Version 1.0t in
- Kleinbuchstaben eingefügt.
-
-
-
- Taste | Wirkung
- -------------------------------------------------------------------------
- Pfeil links | bewegt den Cursor nach links
- Pfeil rechts | bewegt den Cursor nach rechts
- Backspace | löscht das Zeichen links vom Cursor
- Delete | löscht das Zeichen unter dem Cursor
- Insert | Starte Dateinamensuche
- Clr/Home | löscht die aktuelle Kommandozeile
- Ctrl-K | löscht bis zum Ende der Kommandozeile
- Ctrl-W | löscht das nächste Wort
- Ctrl-A | springt an den Anfang der Kommandozeile
- Ctrl-E | springt an das Ende der Kommandozeile
- Ctrl-U | wie Insert (unknown)
- Ctrl-O | Nächster Eintrag bei Dateinamensuche (other)
- Ctrl-D | wie Delete
- Ctrl-X | wie Clr/Home
- Ctrl-B | wie Pfeil links (backward)
- Ctrl-F | wie Pfeil rechts (forward)
- Ctrl-P | wie Pfeil hoch (previous)
- Ctrl-N | wie Pfeil runter (next)
- -------------------------------------------------------------------------
-
- Tabelle 1: Befehle zum Editieren der Kommandozeile
-
-
-
- Environmentvariablen
- --------------------
-
- Das Betriebssystem TOS ermöglicht es, sogenannte Environmentvariablen zu
- übergeben. In diesen Variablen können z.B. Suchpfade oder andere
- Systemeinstellungen gespeichert werden. So kann bei manchen C-Compilern
- festgelegt werden, wo sich die Include-Dateien befinden.
- Eine Environmentvariable wird definiert, indem ihr ein neuer Inhalt
- zugewiesen wird. Ist sie schon vorhanden, wird der vorhandene Inhalt gelöscht
- und durch den neuen Inhalt ersetzt.
-
- Nach dem Starten existiert in der Regel nur eine Variable, nämlich PATH.
- Diese Variable legt fest, wo der CLI nichtresidente Befehle sucht, wenn er sie
- im aktuellen Verzeichnis nicht findet.
- Der CLI legt nun zu dieser vom TOS belegten Variable einige weitere Variablen
- an, und zwar HOME, CWD, STATUS, DATE, TIME und u.U. USERNAME und USER.
-
- In HOME wird das Verzeichnis vermerkt, in dem der CLI gestartet wurde. In CWD
- befindet sich immer das aktuelle Verzeichnis (current working directory),
- und in STATUS wird der Exit-Code des letzten gestarteten Programmes vermerkt.
- 'STATUS=-33' z.B. bedeutet, daß die angegebene Datei nicht gefunden wurde.
- DATE und TIME enthalten nach Aufruf der Befehle DATE bzw. TIME
- unter Angabe der '-s' Option, das Systemdatum bzw. die Systemzeit zum
- Zeitpunkt des Aufrufes.
-
- USER wird von der LOGIN-Funktion angelegt und in 'LOGIN' erläutert.
- Es ist nun praktisch, alle ausführbaren externen Befehle in einen Ordner zu
- kopieren, und dem CLI diesen Pfad mitzuteilen. Befindet sich dieser Ordner
- nun z.B. im Wurzelverzeichnis von Laufwerk C: und heißt 'BIN', so bewirkt
-
- PATH=C:\,C:\BIN\
-
- daß nichtresidente Befehle zunächst im aktuellen Verzeichnis, dann im
- Wurzelverzeichnis von 'C:' und dann im Ordner 'BIN' auf Laufwerk 'C:' gesucht
- wird. Bei der PATH Variable können auch mehrere Pfade angegeben werden, diese
- müssen dann durch Kommata getrennt werden.
- Variablen können aber auch in Befehlen verwendet werden. Um den Inhalt einer
- Variablen zu benutzen, wird ihr ein Dollar-Zeichen ('$') vorangestellt, mit
-
- TEMP=$CWD
-
- speichert man das aktuelle Verzeichnis in der Variablen TEMP ab. Zu einem
- späteren Zeitpunkt kann dann mit
-
- cd $TEMP
-
- wieder in dieses Verzeichnis gelangen. (Eine einfachere Möglichkeit, sich
- ein Directory zu merken, bieten die Befehle PUSHD/POPD).
-
- Weitere Möglichkeiten bieten auch die Befehle PRINTENV, SETENV und ADDENV.
-
- Das Plus-Zeichen ('+') ermöglicht es, mit diversen Befehlen auf
- konkatenierte Environmentvariablen zuzugreifen. Ein Beispiel sollte
- erklären, was damit gemeint ist:
-
- del $HOME+$MYFILE
-
- löscht die Datei, die in MYFILE enthalten ist, auf dem Pfad, der in
- HOME steht. D.h., die Inhalte der Variablen HOME und MYFILE werden
- aneinandergehängt und von der Kommandozeile übernommen.
-
-
- Benutzung des CLI durch Programme
- ---------------------------------
-
- Der CLI unterstützt auch die GEMDOS-Variable _shell_p bei Adresse $4F6,
- hexadezimal. Dadurch wird es möglich, daß ein Programm das vom CLI
- aufgerufen wurde, dem CLI eine Kommandozeile zur Ausführung übergibt.
- Ein Beispiel dafür ist der system() Befehl einiger C-Compiler. Schreibt
- man z.B. ein MAKE-Programm so muß man nicht den RM Befehl abfangen,
- sondern schickt ihn einfach mittels system() an den CLI, und läßt ihn
- dort ausführen.
-
- Der CLI und MiNT
- ----------------
-
- Der CLI erkennt die Anwesenheit von MiNT im Speicher und berücksichtigt das
- bei einigen Befehlen; so werden UID und GID beim Login automatisch gesetzt.
- Der VER Befehl erkennt die MiNT Version und gibt sie mit aus. DIR akzeptiert
- die Pseudolaufwerke Q:, V: und X:. WAIT benutzt den S_Yield() Systemcall.
- Als neuer Befehl gibt PS die Prozeßtabelle aus. Schließlich wird Multitasking
- unterstützt, indem ein Programm im Hintergrund gestartet wird, wenn das erste
- Zeichen einer Zeile das '&' Zeichen ist.
-
- Das ARGV-Schema
- ---------------
-
- Der CLI unterstützt das neue ARGV-Protokoll, um Programmen u.a. den Zugriff
- auf den eigenen Namen zu ermöglichen (ARGV[0]). Leider vertragen sich einige
- Programme nicht mit dem neuen Protokoll. Daher kann man es mit einer neuen
- Environment Variablen ein- und ausschalten. Ist die Variable N127 vorhanden,
- so ist das ARGV Protokoll eingeschaltet. Der zugewiesene Wert ist dabei
- gleichgültig. Ist sie nicht vorhanden, so wird das Protokoll nicht unterstützt.
-
-
- Die Befehle
- -----------
-
- Hier sollen nun die einzelnen eingebauten Befehle des CLI vorgestellt und
- erläutert werden.
-
- ADDENV
- ------
-
- Syntax: ADDENV varname string
-
- Mit ADDENV kann an eine Environmentvariable etwas angehängt werden.
- 'varname' ist dabei der Name der Variable, und 'string' wird
- (durch ein Komma getrennt) and den Inhalt der Variable angehängt.
- Ein Beispiel:
-
- addenv PATH $HOME
-
- Nun würde auch das HOME-Verzeichnis mit in die Suche nach externen Befehlen
- einbezogen.
-
- ALIAS
- -----
-
- Syntax: ALIAS [ [-d] string1 string2 ]
-
- Mit ALIAS kann man die Zeichenkette 'string2' der Zeichenkette 'string1'
- zuweisen. D.h., gibt man nach einer ALIAS-Zuweisung, nach obiger Syntax,
- in der Kommandozeile string1 ein, so versucht der CLI 'string2' auszuführen.
- So bewirkt z.B.
-
- alias d dir
-
- dass `d' als Befehl erkannt wird und wie der DIR-Befehl wirkt.
-
- Wird die `-d' (delete) Option angegeben, so wird die entsprechende
- Zeichenkette aus der Alias-Liste entfernt.
-
- alias -d d
-
- macht also die eben gemachte Zuweisung rückgängig.
-
- Wird ALIAS ohne Parameter angegeben, wird die Liste der definierten Befehle
- ausgegeben.
-
-
- BAUD
- ----
-
- Syntax: BAUD baudrate,word size,parity,stop bits
-
- Mit dem BAUD-Befehl kann die serielle Schnittstelle des ST (RS-232)
- konfiguriert werden. Zunächst wird die Baudrate angegeben, dann die Anzahl
- der Datenbits, gefolgt von der Parität (n,o,e für none, odd, even Parität)
- und schliesslich die Anzahl der Stopbits.
-
- Mit:
-
- baud 300,8,n,1
-
- wird also z.B. die Schnittstelle auf 300 Baud, keine Parität, 8 Datenbits
- und ein Stopbit eingestellt.
-
-
- CD oder CHDIR
- -------------
-
- Syntax: CD [pathname] oder CHDIR [pathname]
-
- Mit CD (change directory) wird ein neues aktuelles Verzeichnis gewählt.
- Normalerweise wird der angegebene Ordnername an den aktuellen Pfad angehängt.
- Die Abkürzung '..' bezieht sich auf das nächste übergeordnete Verzeichnis.
- Ist der aktuelle Pfad z.B. C:\TEMP\COMP\ und wird das Kommando 'cd ..'
- eingegeben, so wechselt das aktuelle Verzeichnis auf C:\TEMP\.
- Es kann aber auch ein kompletter neuer Pfad eingegeben werden,
- z.B. 'cd e:\' oder 'cd a:\test\'.
- Wird kein Parameter angegeben, so wechselt CD in das HOME-Verzeichnis.
-
- Der CLI bietet hier dem Benutzer die Möglichkeit, Pfadnamen mittels Wildcards
- anzugeben.
- Es werden einfach die signifikanten Zeichen eines Pfadnamens, gefolgt vom
- Asterisk-Zeichen ('*') angegeben. Der CLI ergänzt dann zum
- vollständigen Pfadnamen. Angenommen das aktuelle Verzeichnis sei C:\
- und es gibt ein Unterverzeichnis \SOURCE\, in welches man wechslen möchte.
- Dann würde man vielleicht folgenden Befehl verwenden:
-
- cd sou*
-
- Damit wird der CLI in das Verzeichnis C:\SOURCE\TEST\ wechseln.
-
- CHMOD
- -----
- Syntax: CHMOD [+|-][r|h|s|a] dateiname
-
- Mit diesem Befehl können die Dateiattribute verändert werden, ähnlich wie
- LOCK/UNLOCK etc. Jedes einzelne Attribut kann mit einem Befehl gezielt
- gesetzt oder gelöscht werden, z.B.:
-
- chmod +r-sh test.txt
-
- setzt das 'read-only' Attribut und löscht die 'system' und 'hidden'
- Attribute, und wirkt so wie
-
- lock test.txt
- hide test.txt
-
-
- CLICK
- -----
- Syntax: CLICK [ON|OFF]
-
- CLICK OFF schaltet den Tastaturklick ab, CLICK ON schaltet ihn wieder ein.
-
- CLS
- ---
-
- Syntax: CLS
-
- Der Befehl CLS (clear screen) löscht den Bildschirm. Es werden dazu
- die Terminalsequenzen eines DEC VT-52 Terminals verwendet
- (also: ESC-H-ESC-J).
-
-
- COPY oder CP
- ------------
-
- Syntax: COPY [-ns] pathname [pathname] oder
- CP [-ns] pathname [pathname]
-
- Mit dem Befehl COPY, bzw. CP kann eine Kopie einer Datei in einem anderen
- Verzeichnis oder Laufwerk angelegt werden. Hierbei sind Wildcards erlaubt.
- Ist im Zielpfad bereits eine Datei gleichen Namens vorhanden, fragt der
- CLI nach, ob diese gelöscht werden soll, oder ob man die Kopieranweisung
- abbrechen will. Wird kein Zielpfad angegeben, so ist der aktuelle Pfad
- Zielpfad der Operation. Das Dateidatum bleibt hierbei erhalten. Um die
- Kopie mit dem aktuellen Systemdatum zu versehen, siehe TOUCH Befehl.
- Einige Beispiele:
-
- - COPY *.TXT A:\
- kopiert alle Dateien, die auf '.TXT' enden aus dem aktuellen
- Verzeichnis auf Laufwerk A:
-
- - COPY *.TXT C:\*.DOC
- kopiert alle Dateien, die auf '.TXT' enden auf
- Laufwerk C und benennt sie gleichzeitig in '.DOC' um.
-
- - COPY HALLO.TXT TEST.DOC
- legt eine Kopie der Datei HALLO.TXT an und nennt sie TEST.DOC.
-
- Mit der Option '-n' (no query) wird die Nachfrage abgeschaltet, ob eine im
- Zielpfad schon vorhandene Datei gleichen Namens überschrieben werden soll
- oder nicht. Die Option `-s' (silent) bewirkt, daß der Kopiervorgang
- nicht auf dem Schirm mitprotokolliert wird.
-
-
- CTTY
- ----
-
- Syntax: CTTY device
-
- Mit dem Befehl CTTY (change TTY) wird dem CLI mitgeteilt, daß nun alle
- Ausgaben und Eingaben der internen Befehle über die serielle Schnittstelle
- AUX: oder über dir Konsole CON: abgewickelt werden sollen.
- Damit ist der CLI fernbedienbar. Bei Betrieb über die serielle Schnittstelle
- wird ab Version 1.0t weiterhin die Ausgabe auf den Bildschirm ausgegeben.
- Der Remotebetrieb ist dabei von der Konsole aus abbrechbar.
-
-
- DATE
- ----
-
- Syntax: DATE [-s]
-
- Mit dem DATE Befehl kann das Systemdatum abgefragt und gestellt werden. Nach
- Eingabe von DATE wird das aktuelle Datum ausgegeben. Nun kann ein neues Datum
- eingegeben werden. Wird stattdessen ein ungültiges Datum angegeben oder
- einfach nur die <RETURN>-Taste betätigt, bleibt das Datum unverändert.
- Bei Angabe der '-s' Option (set) wird das aktuelle Datum im Format
-
- Wochentag , Tag . Monat Jahr
-
- in die Environmentvariable DATE geschrieben.
-
-
- DEL
- ---
-
- Syntax: DEL [-qs] {filename}
-
- Löscht die angegebene Datei. Es können auch Wildcards ('*')
- angegeben werden, aber dabei ist Vorsicht geboten! Man löscht sich nur
- allzuleicht Daten, die man nicht löschen wollte! So löscht
-
- del *.prg
-
- alle Dateien im aktuellen Verzeichnis, die die Extension `.PRG' besitzen.
- Siehe hierzu auch unbedingt Abschnitt `Wildcards und Dateinamen unter TOS'.
- Gibt man jeden Namen einzeln an und/oder nutzt die '-q' (query, Nachfrage)
- Option, geht man auf Nummer sicher.
-
- DEL und seine Equivalente RM und ERA geben eine englische Meldung aus, was
- gelöscht wird. Ist diese englische Meldung in einer Batchabarbeitung
- störend, so kann diese auch mit der '-s' Option (silent) unterdrückt
- werden.
-
-
- DELENV
- ------
-
- Syntax: DELENV varname
-
- Mit diesem Befehl kann die Environmentvariable 'varname' gelöscht
- werden. Dieser Befehl stellt also das Komplement zu SETENV dar.
-
-
- DIR
- ---
-
- Syntax: DIR [-aepw] [pathname]
-
- Der Inhalt des angegebenen Pfades, oder, wenn kein Pfad angegeben ist, der
- Inhalt der aktuellen Directories wird ausgegeben. Normalerweise werden
- Dateien, bei denen das Hidden- oder System-Attribut gesetzt ist,
- nicht mit ausgegeben.
-
- Wird jedoch die '-a' Option (all) angegeben, so werden auch diese Dateien
- mit ausgegeben.
- Mit der '-e' Option (extended) werden auch die Attribute 'read-only',
- 'system' und 'hidden' mit ausgegeben. Ist das Attribut gesetzt, so
- erscheint der Buchstabe 'r','h' oder 's' und wenn das Attribut gelöscht ist,
- erscheint ein '-'. Mit der '-p' Option (pause) wird auf einen Tastendruck
- gewartet, sobald eine volle Seite ausgegeben wurde.
- Mit der '-w' Option (wide) werden 6 Dateinamen pro Zeile ausgegeben, dafür
- aber ohne Länge, Datum und Uhrzeit.
-
-
- DUMP
- ----
-
- Syntax: DUMP [-sHEXOFFSET] filename
-
- Dieser Befehl gibt einen Hexdump der angegebenen Datei aus. Wird als Option
- ein Offset angegeben, so wird die Datei erst ab diesem Offset ausgegeben.
- Beispiel:
-
- dump -s2E test.txt
-
-
- ECHO
- ----
-
- Syntax: ECHO [ON|OFF|string]
-
- Die auf diesen Befehl folgende Zeile wird, normalerweise, auf dem Bildschirm
- ausgegeben. Dieser Befehl wird gerne in Batchdateien verwendet um Meldungen
- auf dem Bildschirm auszugeben. Man kann ihn aber auch dazu benutzen, um eine
- kleine Textdatei zu erstellen, und das geht so:
-
- Die erste Zeile der Batchdatei wird mit '>dateiname' in eine Datei umgeleitet.
- Alle weiteren Zeilen werden mit '>>dateiname' an die bestehende Datei
- angehängt.
- Dieses Verfahren ist allerdings ziemlich aufwendig und nur dann sinnvoll, wenn
- eine kleine Datei schnell erstellt werden soll und kein Texteditor zur
- Verfügung steht.
- Auch Sonderzeichen können mit Echo ausgegeben werden. Dazu muß anstelle
- des Sonderzeichens '&hh' angegeben werden, wobei 'hh' hierbei der
- Hexcode des Sonderzeichens ist.
-
- ECHO besitzt noch eine weitere Funktion; mit ihm kann festgelegt werden, ob
- bei der Abarbeitung einer Batch-Datei die einzelnen Befehle ausgegeben werden
- oder nicht. Grundeinstellung ist ECHO OFF. Mit ECHO ON schaltet man die
- Ausgabe ein. Wird nur ECHO eingegeben, wird der aktuelle ECHO-Status abgefragt.
-
-
- ERA
- ---
-
- Syntax: ERA [-qs] {filename}
-
- Ist equivalent zu DEL.
-
-
- EXIT
- ----
-
- Syntax: EXIT
-
- Dieser Befehl beendet den CLI und kehrt zum aufrufenden Programm zurück, und
- das ist in der Regel das Desktop.
-
-
- FKEY
- ----
-
- Syntax: FKEY [-e] Fnumber=text
-
- Mit diesem Befehl kann einer der 10 Funktionstasten ein maximal 19 Zeichen
- langer Text zugewiesen werden, der bei Betätigung der entsprechenden Taste
- dann ausgegeben wird. Beispiel:
-
- fkey F4=Hallo Welt
-
- Die '-e' Option (execute) ermöglicht es, über Funktionstasten
- direkt Programme oder Batches auszuführen. Beispiel:
-
- fkey -e F10=gem uniterm
-
-
- FORMAT
- ------
-
- Syntax: FORMAT [A:|B:] [-s|-d|-dh] [-vvolumename]
-
- Es wird eine Diskette in Laufwerk A: oder B: formatiert. Die '-s' Option
- formatiert im Single-Sided (360K) Format und die '-d' Option im
- Double-Sided (720K) Format. Bei -dh wird die Diskette auf 1.44MB
- (Double sided, high density) formatiert, jedoch nur, wenn der ST über ein
- HD-Laufwerk verfügt und entsprechend modifiziert worden ist.
- Die -v Option ermöglicht es, der zu formatierenden Diskette den Namen
- 'volumename' zu geben. Dies ist aber nachträglich auch noch mit
- dem LABEL Befehl möglich.
-
-
- FRE
- ---
-
- Syntax: FRE [drive]
-
- Gibt den Namen, den verfügbaren sowie den bereits belegten Speicherplatz
- des aktuellen Laufwerks aus.
- Es ist auch möglich eine Laufwerksspezifikation 'drive' anzugeben, z.B.:
-
- fre d:
-
- würde Namen, verfügbaren und belegten Speicherplatz von Laufwerk 'D:'
- ausgeben.
-
-
- GEM
- ---
-
- Syntax: GEM filename
-
- Startet ein Programm, welches GEM-Routinen benutzt. Es werden also der
- Mauszeiger eingeschaltet und der Bildschirm gelöscht. 'filename'
- sollte hierbei eine ausführbare Binärdatei sein.
-
- HEAD
- ----
-
- Syntax: HEAD [-anzahl] [filename]
-
- Gibt die ersten paar Zeilen einer Textdatei aus. Normalerweise werden die
- ersten 10 Zeilen ausgegeben. Mit dem Anzahl-Parameter kann jedoch eine
- beliebige Zeilenzahl eingestellt werden. Wird kein Dateiname angegeben,
- kann HEAD als Filter verwendet werden, d.h. er bezieht seine Eingabe durch
- eine Pipe von einem anderen Programm.
-
- HELP
- ----
-
- Syntax: HELP
-
- Mit diesem Befehl wird eine Übersicht der CLI-Befehle ausgegeben.
- Ein Drücken der HELP Taste hat die gleiche Wirkung.
-
-
- HIDE
- ----
-
- Syntax: HIDE [-s] {filename}
-
- Bei den angegebenen Dateien werden die Hidden- und System-Attribute
- gesetzt.
- Damit sind diese Dateien (in TOS-Versionen ab Blitter-TOS) vom Desktop aus
- nicht mehr sichtbar. Damit diese Dateien vom DIR Befehl erkannt werden, muß
- beim DIR Befehl die '-a' Option angegeben werden.
- Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
-
-
- HISTORY / !
- -----------
-
- Syntax: HISTORY / !number / !string
-
- Gibt die letzten 20 Befehle auf dem Bildschirm aus. Es ist nun möglich,
- einen der in der History gespeicherten Befehle anzuwählen. Und zwar:
-
- Cursortasten
- Mit den Cursortasten `Pfeil-hoch' und `Pfeil-runter' werden die
- im history-Puffer gespeicherten Befehle bei jedem Tastendruck in
- der Kommandozeile dargestellt und können dann editiert oder einfach
- noch einmal ausgeführt werden.
-
- direkte Wahl
- Die direkte Wahl bietet folgende zwei Möglichkeiten:
-
- o !number wählt den Befehl an, der an der Stelle 'number'
- im history-Puffer steht. Also beispielsweise
-
- C:> history
- 1: dir
- 2: cp a:\hallo c:\
- 3: history
- C:> !1
-
- würde den Befehl DIR ausführen.
-
- o !string wählt den ersten Befehl im im history-Puffer an, der
- 'string' als Teilwort enthählt. Um bei obigem Beispiel zu
- bleiben, würde !cp den Befehl Nummer 2 im history-Puffer
- ausführen, also
-
- cp a:\hallo c:\
-
-
- HSHAKE
- ------
-
- Syntax: HSHAKE [XON|RTS|NONE]
-
- HSHAKE stellt das Protokoll der seriellen Schlittstelle der Atari ein.
- Wird kein Parameter oder NONE angegeben, so wird das Handshake abgeschaltet,
- bei XON schaltet der CLI den Atari auf XON/XOFF-Protokoll um, und bei RTS
- auf RTS/CTS, was aber leider in älteren TOS-Versionen nicht funktioniert.
-
-
- IGNORE
- ------
-
- Syntax: IGNORE command
-
- Mit dem IGNORE-Befehl kann man erzwingen, daß ein Befehl von Disktte/Festplatte
- geladen wird, auch wenn bereits ein eingebauter Befehl gleichen Namens
- vorhanden ist.
-
- ignore dir
-
- würde bewirken, daß sich der CLI so verhält, als wäre der DIR-Befehl
- nicht eingebaut. Daraufhin sucht er dann die PATH-Variable nach einem
- Programm namens DIR.TTP, DIR.PRG usw. ab.
- Siehe dazu auch REVIVE.
-
-
- INVERT
- ------
-
- Syntax: INVERT
-
- Invertiert den Bildschirm, also weiße Buchstaben auf schwarzem Grund und
- umgekehrt.
-
-
- LABEL
- -----
-
- Syntax: LABEL volumename
-
- Dem aktuellen Laufwerk wird der Name 'volumename' gegeben.
-
-
- LOCK
- ----
-
- Syntax: LOCK [-s] {filename}
-
- Bei der angegebenen Datei wird das 'read-only' Attribut gesetzt.
- Danach kann diese Datei nur noch gelesen, aber nicht mehr beschrieben werden.
- Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
-
-
- LOGCNT
- ------
-
- Syntax: LOGCNT
-
- Normalerweise bricht der CLI nach 3 Login-Versuchen ab und kehrt zu dem
- aufrufenden Programm zurück. Der LOGCNT (Continuous Login) bewirkt, daß
- der Benutzer beliebig viele Versuche hat, sich zu identifizieren. Dadurch
- wird auch bei Fehlversuchen nicht zum aufrufenden Programm zurückgekehrt.
- Der CLI kann damit dazu dienen, den Computer `abzuschließen'; hierzu
- wird der CLI z.B. so installiert, daß er nach dem Einschalten des Computers
- immer ausgeführt wird und in 'autoexec.bat' der LOGCNT Befehl, gefolgt
- von LOGIN steht. Aber dann das Passwort nicht vergessen!
-
-
- LOGIN
- -----
-
- Syntax: LOGIN
-
- Mit dem LOGIN Befehl ist es möglich, mehreren Benutzern eigene CLI-Umgebungen
- (also Environments) bereitzustellen.
-
- Dabei wird jedem Benutzer Benutzername, Passwort, voller Name und ein Home
- Directory zugewiesen. Diese Benutzerdaten werden in einer Datei 'PASSWD'
- festgelegt. Der CLI sucht diese Datei in dem Directory, welches in der
- Environmentvariable LOGIN angegeben ist. Bevor der Befehl LOGIN eingegeben
- wird, sollte also diese Variable entsprechend gesetzt werden.
-
- Nach Eingabe von LOGIN fordert der CLI zur Eingabe des Benutzernamen auf.
- Ist der Benutzer in der PASSWD-Datei nicht eingetragen, so hat der Benutzer
- drei Versuche einen gültigen Benutzernamen einzugeben. Ist dies nicht
- geschehen, so wird der CLI beendet und zum aufrufenden Programm
- zurückgekehrt.
-
- Ist der Benutzer eingetragen, so wird nach dem Passwort gefragt. Ist kein
- Passwort vorhanden, genügt Betätigung der <RETURN>-Taste. Wurde das
- gültige Passwort eingegeben, so werden die Environmentvariablen USER und
- HOME entsprechend gesetzt, in das entsprechende Home-Directory gewechselt und
- dort die Datei 'LOGIN.BAT' ausgeführt. Außerdem wird die History
- gelöscht. In der Datei 'LOGIN.BAT' kann sich damit jeder Benutzer seine
- eigenen Voreinstellungen sichern.
-
- Aufbau der PASSWD-Datei:
-
- user,password,uid,gid,username,home-directory[,default-shell] CR/LF
-
- Ein neuer Usereintrag könnte dann etwa so aussehen:
-
- SuperUser,,0,0,Peter Meier,e:\super\,c:\command.prg
-
- Beim 'user', also dem Namen unter dem sich ein Benutzer eingelogged
- hat und welcher in der Environmentvariablen USER gespeichert wird, wird
- Groß - und Kleinbuchstaben unterschieden, ebenso
- beim 'password'. Das Passwort wird verschlüsselt abgespeichert und kann
- nur mit dem PASSWD-Befehl geändert werden.
- 'uid' und 'gid' sind ganze Zahlen und werden vom CLI ignoriert, müssen aber
- aus Kompatibilitätsgründen vorhanden sein.
- 'username' ist der volle Benutzername, der in der Environmentvariablen
- USERNAME gespeichert wird. Die Environmentvariablen HOME wird mit
- 'home-directory' belegt.
- Soll nach dem login nicht der CLI gestartet werden, sondern eine andere Shell
- oder ein anderes Programm, so kann noch optional 'default-shell' angegeben
- werden.
-
-
- LS
- --
-
- Syntax: LS [-aepl] [pathname]
-
- Gleiche Funktion wie DIR, nur mit Voreinstellung Option '-w' gesetzt.
-
-
- LTTY
- ----
-
- Syntax: LTTY
-
- Der Befehl LTTY (lock TTY) ermöglicht eine Verriegelung der Tastatur.
- Der Benutzer wird nach einem Passwort gefragt und muß dieses dann zur
- Sicherheit noch einmal eingeben. Die Tastatur läßt sich nun nur noch
- durch Eingabe dieses Passwortes oder natürlich durch einen Reset des
- Rechners wieder entriegeln.
-
-
- MAN
- ---
-
- Syntax: MAN [level] command
-
- Es wird die Datei 'command.*' aus einem der Directories, welche in der
- Environmentvariablen MAN gespeichert sind, ausgegeben. Man kann sich so also
- ein oder mehrere Directories mit Hilfstexten (ASCII-codiert) anlegen,
- die jeweils die Endung '.MAN' tragen können.
- Wird dabei die optionale Zahl `level' angegeben, so sucht der CLI nach einer
- Extension, die mit dieser Zahl beginnt. Dabei darf sich `level' im Bereich
- Null bis Sieben bewegen. So könnte die Beschreibung für den C-Befehl
- `strcpy()' etwa `STRCPY.3C' heißen. Dabei steht die 3 für Level 3 und
- das `C' für die Programmiersprache C.
-
- Man könnte also den Utilities und anderen Programmen Level 1, den
- Betriebssystemaufrufen den Level 2 und Bibliotheksfunktionen verschiedener
- Programmiersprachen den Level 3 zuordnen, wobei der drei noch ein Kennbuchstabe
- für die Programmiersprache nachgestellt wird.
-
- Manchmal kann es sinnvoll sein, mehrere Hilfstexte in einer Datei abzulegen,
- die aber unter verschiedenen Namen angesprochen werden soll. So könnte man
- alle Stringbefehle in einer Datei 'STRING.3C' ablegen. Nun soll diese Datei
- auch unter den Namen 'strcpy', 'strcmp', 'strcat' u.s.w. angesprochen werden.
- Dazu wird eine Datei 'MAN.IDX' im Hilfstextdirectory angelegt, die pro Zeile
- einen Namen einer Datei zuordnet. Dabei beginnt eine Zeile mit dem Namen,
- unter dem die Datei angesprochen werden soll. Dann folgen ein oder
- mehrere Leerzeichen und schließlich der Dateiname.
- Die Datei könnte also z.B. so aussehen:
-
- strcpy string
- strcmp string
- strcat string
- fopen gemfile
- fcreate gemfile
-
- Eine solche Indexdatei kann in jedem der in der MAN Environmentvariablen
- abgelegten Directories angelegt werden. Dabei bezieht sich jeder Dateiname
- auf das jeweilige Directory!
-
- Normalerweise wird die Textdatei durch den internen MORE Befehl ausgegeben.
- Es kann dazu jedoch auch z.B. ein Programm benutzt werden. Dazu wird in
- der PAGER-Variablen der Name des Befehls abgelegt, der statt MORE die
- Datei ausgeben soll.
-
- MFREE
- -----
-
- Syntax: MFREE
-
- Dieser Befehl gibt den aktuell verfügbaren Hauptspeicherplatz aus.
-
-
- MKDIR
- -----
-
- Syntax: MKDIR dirname
-
- Um einen neuen Ordner 'dirname' anzulegen verwendet man der MKDIR Befehl.
-
- mkdir TEST
-
- legt einen Ordner mit Namen TEST an.
-
-
-
- MORE
- ----
-
- Syntax: MORE {filename}
-
- MORE ist ein Ausgabebefehl, der Dateien seitenweise auf dem Bildschirm
- anzeigt, und ausgibt, wieviel Prozent der Datei schon ausgegeben sind.
- Mit der Taste 'b' kann zurückgeblättert werden, jede andere Taste blättert
- vorwärts und mit der Taste 'n' wird, wenn mehrere Dateien
- ausgegeben werden sollen, die aktuelle Ausgabe abgebrochen und
- mit der nächsten Datei fortgefahren. Mit Control-C oder 'q' kann jederzeit
- die Ausgabe abgebrochen werden.
- Wird kein Dateiname angegeben, so liest MORE von 'stdin', d.h. es kann
- mit einer Pipe die Ausgabe eines Programmes als Eingabe von MORE
- verwendet werden.
-
-
- MOVE oder MV
- ------------
-
- Syntax: MOVE [-ns] pathname [pathname] oder
- MV [-ns] pathname [pathname]
-
- Bewirkt exakt dasselbe wie COPY, jedoch wird die Quelldatei nach dem
- Kopiervorgang gelöscht. Die Datei(en) werden also verschoben. Die Option
- `-s' (silent) bewirkt, daß dieser Vorgang nicht auf dem Schirm
- mitprotokolliert wird.
-
-
-
- MS
- --
- Syntax: MS [ON|OFF]
-
- MS ON aktiviert den Mauszeiger. MS OFF ist das Komplement zu MS ON.
-
-
- PASSWD
- ------
-
- Syntax: PASSWD
-
- Mit diesem Befehl kann man sein Passwort ändern. Die Benutzerführung ist
- selbsterklärend.
-
-
- PATH oder PWD
- -------------
-
- Syntax: PATH oder PWD
-
- Mit diesem Befehl wird das aktuelle Verzeichnis ausgegeben.
-
-
- POPD
- ----
-
- Syntax: POPD
-
- Ein Pfad wird vom Pfadstapel geholt und zum aktuellen Pfad gemacht.
- Siehe hierzu auch Abschnitt 'PUSHD'.
-
-
- PRINTENV
- --------
-
- Syntax: PRINTENV
-
- Gibt die Namen aller Environmentvariablen und ihren Inhalt auf dem Bildschirm
- aus.
-
-
- PROMPT
- ------
-
- Syntax: PROMPT [string]
-
- Nach dem Starten meldet sich der CLI normalerweise mit einem Prompt, der
- aus dem aktuellen Verzeichnis, und einem `>'-Zeichen aufgebaut ist
- (MS-DOS lässt grüssen). Mit dem PROMPT-Befehl kann nun dieser Prompt
- umdefiniert werden. Der angegebene 'string' wird unverändert als Prompt
- ausgegeben, bis auf einige speziellen Zeichenkombinationen, die in Tabelle 2
- aufgeführt sind.
-
-
- &n | aktuelles Laufwerk
- &p | aktueller Pfad
- &d | Datum
- &t | Zeit
- &v | Version
- &g | >
- &l | <
- &q | =
- &h | Backspace
- &_ | CR/LF
- &e | Escape
- && | Ampersand-zeichen
- &m | Dollar (MONEY)-Zeichen
- &u | Pipe-Zeichen ('|')
- &! | aktuelle Zeilennummer
-
- Tabelle 2: Sonderzeichen im Prompt
-
-
- Einige dieser Zeichen könnten nicht direkt eingegeben werden oder hätten für
- den CLI eine besondere Bedeutung, so würde das '>' als Umlenkung
- erkannt werden. Wenn daher im Prompt das '>' erscheinen soll, so wird an
- seiner Stelle '&g' im Promptstring eingegeben.
- Mit
-
- prompt &p&g
-
- wird immer der aktuelle Pfad, gefolgt vom '>' Zeichen als Prompt
- ausgegeben.
-
- PROMPT ohne Argument stellt wieder den default Prompt ein, d.h. so, wie er
- nach dem Starten war.
-
- PUSHD
- -----
-
- Syntax: PUSHD [pfadname]
-
- Befördert den angegebenen Pfad auf den Pfadstapel.
- Der Pfadstapel faßt max. 16 Pfade. Wird PUSHD ohne
- Argument aufgerufen, so wird der aktuelle Pfad abgelegt.
-
-
- RENAME oder REN
- ---------------
-
- Syntax: RENAME oder REN [-n] pathname filename
-
- Mit diesem Befehl kann eine oder mehrere Dateien umbenannt werden. Ist schon
- eine Datei gleichen Namens vorhanden, so wird gefragt, ob diese gelöscht
- werden soll, oder ob die Quelldatei nicht umbenannt werden soll.
- Beispiel:
-
- rename *.txt *.doc
-
- ändert die Endungen aller '.TXT' Dateien im aktuellen Verzeichnis in
- '.DOC' um.
-
- Mit der Option '-n' (no query) wird die Nachfrage abgeschaltet, ob eine
- im Zielpfad schon vorhandene Datei gleichen Namens gelöscht werden soll
- oder nicht. (destructive rename)
-
-
- REVIVE
- ------
-
- Syntax: REVIVE command
-
- Mit diesem Befehl kann ein Befehl, der mit dem IGNORE-Befehl abgeschaltet
- wurde, wieder zum Leben erweckt werden.
-
-
- RM
- --
-
- Syntax: RM [-qs] filename [filename]
-
- Siehe dazu DEL.
-
- RMDIR
- -----
-
- Syntax: RMDIR [-r|-a] pathname
-
- Mit diesem Befehl kann ein Ordner gelöscht werden. Dabei muß der Ordner mit
- komplettem Pfad angegeben werden.
- Der Order muß im Normalfall leer sein. Ist sich der Benutzer sicher, daß
- ein kompletter Ordner gelöscht werden soll, so kann er unter Angabe der
- Option '-r' oder '-a' jeden beliebigen Ordner löschen.
-
- SETENV
- ------
-
- Syntax: SETENV varname [string]
-
- Mit diesem Befehl kann einer Environmentvariablen ein neuer Inhalt,
- 'string', zugewiesen werden. Name und Inhalt sind dabei entweder durch ein
- Leerzeichen oder ein '='-Zeichen getrennt. Man kann natürlich auch ohne
- SETENV einer Variablen einen Inhalt zuweisen.
-
- setenv TEMP Hallo
-
- und
-
- TEMP=Hallo
-
- sind vollkommen gleichwertig. Wird SETENV ohne Parameter aufgerufen, so
- werden alle vorhandenen Variablen ausgegeben (genau wie beim PRINTENV-Befehl).
-
-
- SLEEP
- -----
-
- Syntax: SLEEP
-
- Mit diesem Befehl lässt sich der Bildschirm dunkelschalten. Dies ist sinnvoll,
- wenn man die Arbeit mit dem CLI für längere Zeit unterbricht, aber den
- Rechner nicht abschalten möchte. Ein zuvor eingegebener SLEEP Befehl schont
- dann die Bildröhre des Monitors. Der Schirm wird durch Betätigen einer
- beliebigen Taste wieder eingeschaltet.
-
-
- STEP
- ----
-
- Syntax: STEP step_rate
-
- Der STEP-Befehl stellt eine neue Steprate für die beiden Laufwerke A:
- und B: ein. Erlaubte Werte für step_rate sind: 2,3,6 und 12. Die Angabe
- erfolgt in Millisekunden.
-
- TEE
- ---
- Syntax: TEE [-a] filename
-
- Der Inhalt einer Pipe wird in eine Datei 'filename' abgezweigt, die
- Funktion der Pipe dadurch nicht beeinträchtigt. Mit der '-a' Option wird
- an eine bestehende Datei angehängt.
-
- TERM
- ----
-
- Syntax: TERM
-
- TERM aktiviert den Terminalmodus. Dieser entspricht dem des von Atari
- gelieferten Emulator-ACC's, welches einen einfachen VT-52 Emulator zur
- Kommunikation über die serielle Schnittstelle darstellt.
- Alle von der Tastatur eingegebenen Zeichen werden also an die serielle
- Schnittstelle gesendet. Ggf. muß die Baudrate mit dem BAUD-Befehl
- eingestellt werden. Nach dem Einschalten befindet sich der Rechner
- normalerweise im 9600 Baud Modus. Verlassen wird der Terminalmodus mit
- der <HELP> oder <UNDO> Taste.
- Bei Remotebetrieb ist der TERM-Befehl nicht sinnvoll, und ist daher
- deaktiviert.
-
- TIME
- ----
-
- Syntax: TIME [-s]
-
- Der TIME-Befehl dient dazu, die Systemzeit abzufragen oder zu stellen. Nach
- Eingabe des Befehls wird die aktuelle Zeit ausgegeben. Dann kann eine neue Zeit
- eingegeben werden. Ist die eingegebene Zeit ungültig oder wird einfach nur
- <RETURN> eingegeben, so bleibt die ursprüngliche Zeit unverändert.
- Bei Angabe der '-s' Option (set) wird die aktuelle Zeit in die
- Environmentvariable TIME geschrieben.
-
-
- TOUCH
- -----
-
- Syntax: TOUCH [-s] {filename}
-
- TOUCH aktualisiert das Dateidatum also, das Erstellungsdatum einer Datei.
- Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
-
-
- TYPE
- ----
-
- Syntax: TYPE filename
-
- Gibt die angegebene Datei aus. Die Ausgabe kann z.B. in eine Datei
- umgelenkt werden (wie bei den meisten anderen Befehlen auch).
-
-
- UNALIAS
- -------
-
- Syntax: UNALIAS name
-
- Ein Eintrag wird aus der ALIAS-Liste entfernt. Bewirkt dasselbe wie
- ALIAS mit der `d'-Option.
-
-
- UNHIDE
- ------
-
- Syntax: UNHIDE [-s] {filename}
-
- Bei den angegebenen Dateien werden die Attribute 'hidden' und 'system'
- gelöscht. Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
-
-
- UNLOCK
- ------
-
- Syntax: UNLOCK [-s] {filename}
-
- Bei den angegebenen Dateien wird das 'read-only' Attribut gelöscht.
- Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
-
-
- VERSION oder VER
- ----------------
-
- Syntax: VERSION oder VER
-
- Gibt die Versionsnummer des CLI und TOS-ROMs aus.
-
-
- WAIT
- ----
-
- Syntax: WAIT [-s|-t time|-d date]
-
- Dieser Befehl gibt eine englische Meldung aus und wartet auf ein <Return>.
- WAIT wird sinnvollerweise nur in Batchdateien verwendet. Ist die englische
- Meldung in einer Batchabarbeitung störend, so kann diese auch mit der
- '-s' Option (silent) unterdrückt werden.
- Bei Angabe der '-t' bzw. '-d' Option wartet der CLI bis zur angegebenen
- Uhrzeit bzw. zum angegebenen Datum. Das Format ist dasselbe wie bei den
- Befehlen TIME und DATE.
-
-
- WC
- --
-
- Syntax: WC [filename]
-
- Mit WC (Word Count) werden die Zeichen, Zeilen und Worte einer Textdatei
- gezählt. Wird kein Dateiname angegeben, bezieht WC seine Eingabe von
- 'stdin'. Damit kann WC seine Eingabe durch eine Pipe von einem anderen
- Programm beziehen.
-
-
-
-